package com.browsesoft.adapter;

import java.util.Arrays;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.LinkedList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.browsesoft.EntityManager;

public class CalendarListAmModel extends CalendarListModel {
	/**
	 * 处理客户端请求
	 * 
	 * @param request
	 *            请求
	 * @param response
	 *            响应
	 * @throws Exception
	 */
	public void service(HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		// 得到用户id号
		String userID = loginUser.getID();
		// 如果日期为空
		if (parentID == null) {
			// 得到point
			parentID = request.getParameter("point");
		}
		Hashtable ht = new Hashtable();
		// 添加用户id
		ht.put("userid", userID);
		// 如果有日期
		if (parentID != null) {
			// 添加日期
			ht.put("parentid", parentID);
		}
		// 得到符合条件的实体
		LinkedList ls = EntityManager.getInstance().getObjects(
				"com.browsesoft.adapter.CalendarFormModel", ht);
		LinkedList temp = new LinkedList();
		Iterator iter = ls.iterator();
		// 对于每一个有预约的日程
		while (iter.hasNext()) {
			CalendarFormModel item = (CalendarFormModel) iter.next();
			String start = item.getAttributes().get("starthour").toString()
					.substring(0, 2);
			int time = Integer.parseInt(start);
			// 如果开始时间小于13
			if (time < 13) {
				temp.add(item);
			}
		}
		// 得到符合条件的实体
		this.calendars = temp.toArray();
		// 按时间顺序排列
		Arrays.sort(calendars, new CalendarComparator());
	}
}